package com.mida.bms.report.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.mida.tool.common.utils.LongToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * @author ：wang xiao le
 * @description：TODO
 * @date ：2021/3/30 14:26
 */
@Data
public class DocUseSpaceConsumerVo {
    /**
     * 结构化报告授权空间用户标识
     */
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    @ApiModelProperty(value = "结构化报告授权空间用户标识")
    private Long spaceConsumerSoid;

    /**
     * 结构化模板授权空间标识
     */
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    @ApiModelProperty(value = "结构化模板授权空间标识")
    private Long stTempAuthSpSoid;

    /**
     * 医生标识
     */
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    @ApiModelProperty(value = "医生标识")
    private Long doctorSoid;

    /**
     * 状态
     */
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    @ApiModelProperty(value = "状态")
    private Long status;

    /**
     * 逻辑删除标识
     */
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    @ApiModelProperty(value = "逻辑删除标识")
    private Long isDelete;

    /**
     * 最后修改人
     */
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    @ApiModelProperty(value = "最后修改人")
    private Long updateUser;

    /**
     * 最后修改日期
     */
    @ApiModelProperty(value = "最后修改日期")
    private Date updateDate;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createDate;

    /**
     * 员工姓名
     */
    private String employeeName;

    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof DocUseSpaceConsumerVo)) return false;

        DocUseSpaceConsumerVo that = (DocUseSpaceConsumerVo) o;

        return getDoctorSoid() != null ? getDoctorSoid().equals(that.getDoctorSoid()) : that.getDoctorSoid() == null;
    }

    @Override
    public int hashCode() {
        return getDoctorSoid() != null ? getDoctorSoid().hashCode() : 0;
    }
}
